This invention relates to circuits in which fine delay elements are swapped with a coarse delay element during tracking, such as in a delay locked loop (DLL), and more particularly to a circuit and method for compensating for tracking differences between switchable coarse and fine delay elements.
A digital delay locked loop is generally formed of a phase detector which detects the phase difference between a system clock and a feedback clock, and causes adjustment of a time delay circuit in the loop which causes the DLL output clock to be adjusted to lock with the system clock. The time delay is generally formed of an adjustable delay line.
Since the delay line is typically adjusted in steps, the finest delay resolution depends on the delay line step increments. In order to hold the locked condition, the delay line is continuously increased and decreased in step increments around a lock point, which results in inherent tracking jitter. In order to decrease the jitter, the delay line has been formed of plural coarse delay elements (CDE), forming a coarse delay line, in series with plural fine delay elements (FDE). After power-up of the circuit, the coarse delay line is adjusted, and once a lock point has almost been determined, the fine delay line is adjusted, which narrows the window around the lock point, to about 25 picoseconds, which represents the nominal amount of jitter in a typical application.
One fine delay line element (FDE) consists of 32 stepsxc3x9725 picoseconds resulting in a time delay of about 0.8 ns, which approximately equals the time delay of a single stage of the coarse delay line. Once the delay locked loop has stabilized to the lock point, the delay line will automatically compensate for variations in delay caused by changing temperature and voltage conditions, by varying the fine delay line.
The fine delay line is reset to the halfway point after which it begins tracking.
In case of major drift, adjustments in the fine delay line will overrun its end. In that case, another coarse delay element is switched in series or an existing coarse delay element is switched out of the coarse delay line, and at the same time the fine delay line is adjusted to compensate for the coarse delay increase or decrease to provide the same total delay as before. However, now the fine delay line can be used again to compensate changes without immediate danger of overrun.
U.S. Pat. No. 5,544,203 invented by Casasanta et al, and U.S. Pat. No. 5,604,775 each discuss adjustment of a delay locked loop delay line using coarse and fine adjustment. However, none address the problem solved by the present invention, as will be elaborated below.
It is assumed in the prior art that interchanging (switching) the fine delay line steps for a coarse delay element provides an equal exchange of delay. Indeed, any differences between the two appear as jitter of about 300 ps on the DLL output clock. This amount of jitter was considered to be tolerable, given the prior art primary application of single data rate synchronous dynamic random access memories (SDRAMS). However, with the advent of tighter access time (Tac) specifications for double data rate (DDR) SDRAMs which are synchronized to the rising and falling edges of a system clock rather than only to the rising edge, even an amount of jitter of 200 ps-300 ps is becoming intolerable, considering the numerous sources adding to this jitter apart from the DDL, including input clock to data skew, clock duty cycle variations, inaccuracies in the actual input and output buffer delays with respect to its design model, etc.
DLL jitter itself consists of factors such as inherent tracking jitter and supply noise and substrate noise induced jitter. The inherent tracking jitter is caused by the up and down adjustments to the fine delay line while the DLL is in the locked condition, and as described above, is a variation equivalent to the delay achieved through a single step in the delay line. The jitter caused by switching between the coarse and fine delay elements caused by the mismatch between the elements is referred to as a switching jitter. This mismatch is highly dependent on the manufacturing process, and thus is hard to predict in the design stage. As the operating frequencies continue to increase, the switching jitter can undesirably reduce the data eye significantly. In addition, since this switching occurs only infrequently, it is inherently hard to detect during testing and can cause apparently randomly dropped bits when the part is in use in the field.
Analog techniques can be used to achieve a wide range of fine resolution tracking for various applications. In particular DLLs based on phase mixers have been shown to achieve high fine resolution tracking range through quadrature mixing. However, most analog based DLL designs employ some form of charge pumps for voltage controlled delay lines and as such they suffer from a limited resolution of the delay steps since the controlling element affects an entire delay line. In addition such DLLs often require a large acquisition time due to loop bandwidths being limited to a small fraction of the clock frequency to ensure stability of the loop. This effect also causes a poor jitter performance in analog DLLs.
Furthermore, analog DLL designs are inherently more susceptible to all sources of noise as their control variables (usually voltage) are reduced to achieve finer resolutions. In particular, SDRAMs provide a very noisy environment for analog blocks in form of supply and substrate noise, which when combined with area restrictions in SDRAMs, sometimes preventing adequate implementation of noise prevention techniques through layout, can result in unreliable DLLs in noisy field environments.
The present invention provides a circuit and a method of allowing a DLL to track with fine resolution delay elements, while providing a tracking range much larger than that provided by the fine delay line without the danger of producing switching jitter. The present invention accomplishes this by determining substantially the exact amount of fine delay line to compensate for a coarse delay element. This determination is done by providing a model of a coarse delay element and indicating to the fine delay line control the amount of fine delay to switch to substantially accurately substitute for the coarse delay element.
In accordance with an embodiment of the invention, a delay compensation circuit for a delay locked loop which includes a main delay line having a fine delay segment and a coarse delay segment, the delay compensation circuit comprising:
(a) a system clock input receiving a system clock;
(b) a first path coupled to the system clock input, the first path consisting of a plurality of controllable fine delay elements;
(c) a second path coupled to the system clock input in parallel with the fine delay elements, the second path including a single coarse delay element;
(d) a phase detector having a pair of inputs coupled to outputs from the first and second path and a pair of outputs; and
(e) a counter having inputs coupled to the outputs from the phase detector and to the system clock, for providing an output result for adjusting the number of fine delay elements in the first path; and
(f) the counter providing said output result to a fine delay counter in the main delay line when delays of the first and second paths a substantially equal.
In accordance with another embodiment, a method of compensating for fine delay jitter in a clock driven main delay locked loop which includes coarse and fine delay elements, comprising: in parallel feeding the clock through a first auxiliary delay path having a number of fine delay elements having an adjustable number of fine delay steps, and simultaneously feeding the clock through a second auxiliary delay path having a further coarse delay element having the same delay as a coarse delay element of the main delay line, detecting a phase difference between outputs of the first and second auxiliary delay paths and controlling a counter thereby, adjusting the number of fine delay steps of the first auxiliary delay path to accurately compensate delay through the second auxiliary delay path, and controlling the fine delay in the main delay locked loop from the counter so as to minimize fine delay jitter in the main delay locked loop.
In accordance with another embodiment of the invention, a method of compensating for fine delay jitter in a main circuit when switching between a coarse delay element and plural fine delay elements, comprising: providing a model of a coarse delay element in an auxiliary fine delay path, and providing a signal to a control circuit in the main circuit from the auxiliary fine delay path indicating a required amount of fine delay to accurately substitute for the coarse delay element in the main circuit resulting from the model.
In accordance with another embodiment of the invention, a method of compensating for fine delay jitter in a main circuit when switching between a coarse delay element and plural fine delay elements is required, comprising: providing a model of a coarse delay element through an auxiliary fine delay line, and providing a count from the auxiliary fine delay line to a control circuit in the main circuit indicating a required fine delay to accurately substitute for the coarse delay element in the main circuit resulting from the model.
In accordance with another embodiment of the invention, a delay line compensation circuit for a first delay locked loop which includes a main delay line having a fine delay controlled by a controller, and a coarse delay which is switched with the fine delay periodically, the delay compensation circuit comprising: (a) a second delay locked loop which includes an auxiliary fine delay line for modelling a coarse delay element, (b) a counter for controlling the fine delay of the auxiliary delay line to a value which is substantially the same as that of the coarse delay element, (c) a circuit for applying a representation of a system clock to the auxiliary delay line, and (d) a circuit for applying the fine delay count of the counter to the controller for adjustment of the fine delay of the main delay line to a delay value which is the same as that of a coarse delay element of the main delay line.